/**
 * @author VernHe
 * @date 2021年06月25日 22:44
 */
public class Solution_0238 {
    public int[] productExceptSelf(int[] nums) {
        // 左边的乘积
        int[] left = new int[nums.length];
        // 初始化
        int temp = 1;
        for (int i = 0; i < nums.length;) {
            left[i] = temp;
            i++;
            temp *= nums[i-1];
        }
        // 右边的乘积
        int[] right = new int[nums.length];
        // 初始化
        temp = 1;
        for (int i = nums.length - 1; i >= 0;) {
            right[i] = temp;
            i--;
            temp *= nums[i+1];
        }
        pringArray(right);
        for (int i = 0; i < nums.length; i++) {
            nums[i] = left[i] * right[i];
        }
        return nums;
    }

    private void pringArray(int[] array) {
        for (int i : array) {
            System.out.printf(i + "-");
        }
        System.out.println();
    }

}
